// 题目描述
// 讨论 (196)
// 647. 回文子串
// 中等
// 100
// 给定一个字符串 s ，请计算这个字符串中有多少个回文子字符串。
// 具有不同开始位置或结束位置的子串，即使是由相同的字符组成，也会被视作不同的子串。
//   示例 1：
// 输入：s = "abc"
// 输出：3
// 解释：三个回文子串: "a", "b", "c"
// 示例 2：
// 输入：s = "aaa"
// 输出：6
// 解释：6个回文子串: "a", "a", "a", "aa", "aa", "aaa"
//   提示：
// 1 <= s.length <= 1000
// s 由小写英文字母组成
//   注意：本题与主站 70 题相同：https://leetcode-cn.com/problems/palindromic-substrings/
// 通过次数
// 39.8K
// 提交次数
// 55.6K
// 通过率
// 71.6%
// https://leetcode.cn/problems/a7VOhD/

/**
 * @param {string} s
 * @return {number}
 */
var countSubstrings = function (s) {
  const n = s.length
  const end = 2 * n - 1

  let ans = 0
  for (let i = 0; i < end; ++i) {
    let l = i / 2, r = i / 2 + i % 2
    while (l >= 0 && r < n && (s.charAt(l) === s.charAt(r))) {
      --l
      ++r
      ++ans
    }
  }
  return ans
}


console.log(
  countSubstrings(
    'abc'
  )
)





